package com.lmpop.trade.ts_module;

import com.lmpop.frame.QueryList;
import com.lmpop.frame.SysMap;
import com.lmpop.frame.TradeInterf;
import com.lmpop.frame.dao.DbmInterf;
import com.lmpop.frame.exp.ApplicationException;
import java.util.Hashtable;
import java.util.List;

public class Ts_moduleInfo implements TradeInterf
{
  QueryList queryList;

  public Ts_moduleInfo()
  {
    this.queryList = new QueryList();
  }

  public SysMap insert(DbmInterf dbmMgr, SysMap map)
  {
    Ts_module ts_module = new Ts_module();
    ts_module.setModule_id(map.getString("module_id"));
    ts_module.setModule_name(map.getString("module_name"));
    ts_module.setModule_code(map.getString("module_code"));
    if (map.getString("module_no") != null)
      ts_module.setModule_no(Integer.parseInt(map.getString("module_no")));
    else
      ts_module.setModule_no(0);
    ts_module.setArticle_temp(map.getString("article_temp"));
    ts_module.setArticle_save(map.getString("article_save"));
    ts_module.setDb_name(map.getString("db_name"));
    ts_module.setIs_sub(map.getString("is_sub"));

    String result_code = "0";
    try {
      insert(dbmMgr, ts_module);
    } catch (ApplicationException e) {
      e.printStackTrace();
      result_code = "1";
    }
    map.setString("result_code", result_code);
    return map;
  }

  public void insert(DbmInterf dbmMgr, Ts_module ts_module)
    throws ApplicationException
  {
    dbmMgr.update("insertTs_module", ts_module);
  }

  public SysMap delete(DbmInterf dbmMgr, SysMap map)
  {
    String pkid_string = map.getString("pkid");
    String result_code = "0";
    try {
      if (!pkid_string.equals("")) {
        String[] pkStr = pkid_string.split("\\|");
        for (int i = 0; i < pkStr.length; i++) {
          if (pkStr[i].equals("")) continue; delete(dbmMgr, pkStr[i]);
        }
      }
    } catch (ApplicationException e) {
      e.printStackTrace();
      result_code = "1";
    }
    map.setString("result_code", result_code);
    return map;
  }

  public void delete(DbmInterf dbmMgr, String pkid)
    throws ApplicationException
  {
    dbmMgr.update("deleteTs_module", pkid);
  }

  public SysMap update(DbmInterf dbmMgr, SysMap map)
  {
    Ts_module ts_module = new Ts_module();
    ts_module.setModule_id(map.getString("module_id"));
    ts_module.setModule_name(map.getString("module_name"));
    ts_module.setModule_code(map.getString("module_code"));
    if (map.getString("module_no") != null)
      ts_module.setModule_no(Integer.parseInt(map.getString("module_no")));
    else
      ts_module.setModule_no(0);
    ts_module.setArticle_temp(map.getString("article_temp"));
    ts_module.setArticle_save(map.getString("article_save"));
    ts_module.setDb_name(map.getString("db_name"));
    ts_module.setIs_sub(map.getString("is_sub"));

    String result_code = "0";
    try {
      update(dbmMgr, ts_module);
    } catch (ApplicationException e) {
      e.printStackTrace();
      result_code = "1";
    }
    map.setString("result_code", result_code);
    return map;
  }

  public void update(DbmInterf dbmMgr, Ts_module ts_module)
    throws ApplicationException
  {
    dbmMgr.update("updateTs_module", ts_module);
  }

  public List getListByPage(Object obj, int start, int limit)
  {
    Ts_module ts_module = (Ts_module)obj;
    if (start == 0)
      start = 0;
    else {
      start = (start - 1) * limit;
    }
    ts_module.setStart(Integer.valueOf(start));
    ts_module.setLimit(Integer.valueOf(limit));
    return this.queryList.getList("getListByTs_modulePage", ts_module);
  }

  public int getCountByObj(Object obj)
  {
    Ts_module ts_module = (Ts_module)obj;
    List list = this.queryList.getList("getCountByObjTs_module", obj);
    int count = 0;
    if ((list != null) && (list.size() > 0)) {
      Hashtable newsMap = (Hashtable)list.get(0);
      if ((newsMap.get("count") != null) && (!newsMap.get("count").toString().equals(""))) {
        count = Integer.parseInt(newsMap.get("count").toString());
      }
    }
    return count;
  }

  public List getListByPk(String pk)
  {
	  //select module_id,module_name,module_code,module_no,article_temp,article_save,db_name,is_sub from ts_module where module_id=#value#
    return this.queryList.getList("getTs_moduleByPk", pk);
  }

  public String getModeulSelect() {
    List list = this.queryList.getList("getAllTs_modulePage");
    StringBuffer sb = new StringBuffer();
    if ((list != null) && (list.size() > 0)) {
      for (int i = 0; i < list.size(); i++) {
        Hashtable newsMap = (Hashtable)list.get(i);
        String module_id = ""; String module_name = "";
        if (newsMap.get("module_id") != null) {
          module_id = newsMap.get("module_id").toString();
        }
        if (newsMap.get("module_name") != null) {
          module_name = newsMap.get("module_name").toString();
        }
        sb.append("<option value='");
        sb.append(module_id);
        sb.append("'>");
        sb.append(module_name);
        sb.append("</option>");
      }
    }
    return sb.toString();
  }

  public List getAllTs_moduleByNotCust(String module_id) {
    List list = this.queryList.getList("getAllTs_moduleByNotCust", module_id);
    return list;
  }

  public String getSavaPathByCode(String code)
  {
    List list = this.queryList.getList("getSavaPathByCode", code);
    String article_save = "";
    if ((list != null) && (list.size() > 0)) {
      Hashtable newsMap = (Hashtable)list.get(0);
      if ((newsMap.get("article_save") != null) && (!newsMap.get("article_save").toString().equals(""))) {
        article_save = newsMap.get("article_save").toString();
      }
    }
    return article_save;
  }

  public SysMap ModuleSort(DbmInterf dbmMgr, SysMap map)
  {
    Ts_module ts_module = new Ts_module();
    String pkid_string = map.getString("sort");
    String result_code = "0";
    try {
      if (!pkid_string.equals("")) {
        String[] pkStr = pkid_string.split("\\|");
        String[] sort = null;
        for (int i = 0; i < pkStr.length; i++)
        {
          if (pkStr[i].equals(""))
            continue;
          sort = pkStr[i].split(",");
          if (sort.length == 1)
          {
            ts_module.setModule_id(sort[0]);
            ts_module.setModule_no(0);
            updateSort(dbmMgr, ts_module);
          }
          if (sort.length != 2)
            continue;
          ts_module.setModule_id(sort[0]);
          ts_module.setModule_no(Integer.parseInt(sort[1]));
          updateSort(dbmMgr, ts_module);
        }
      }
    }
    catch (ApplicationException e)
    {
      e.printStackTrace();
      result_code = "1";
    }
    map.setString("result_code", result_code);
    return map;
  }

  public void updateSort(DbmInterf dbmMgr, Ts_module ts_module) throws ApplicationException {
    dbmMgr.update("updateTs_moduleSort", ts_module);
  }
}